package com.run2code.design.creational.singleton;

/**
 * 单例模式 - 枚举实现
 * 关注公众号【奔跑的码畜】，一起进步不迷路
 *
 * @author 第七人格
 * @date 2023/11/14
 */
public enum Singleton_06 {

    /**
     * 实现要点①：创建一个单元素的枚举
     */
    INSTANCE;
    /**
     * 实现要点②：引入单例对象作为属性
     */
    private final Singleton singleton;

    /**
     * 实现要带你点③：私有化枚举的构造器，并初始化实例
     */
    Singleton_06() {
        singleton = new Singleton();
    }

    /**
     * 实现要点④：对外提供获取实例的静态方法
     *
     * @return {@link Singleton}
     */
    public Singleton getInstance() {
        return singleton;
    }


}
